Game testing

Game testing, a subset of game development, is a software testing process for quality control of video games.[1][2][3] The primary function of game testing is the discovery and documentation of software defects (aka bugs). Interactive entertainment software testing is a highly technical field requiring computing expertise, analytic competence, critical evaluation skills, and endurance.[4][5]

Contents

History

In the early days of computer and video games, the developer was in charge of all the testing. No more than one or two testers were required due to the limited scope of the games. In some cases, the programmers could handle all the testing.

As games become more complex, a larger pool of QA resources, called "Quality Assessment" or "Quality Assurance" is necessary. Most publishers employ a large QA staff for testing various games from different developers. Despite the large QA infrastructure most publishers have, many developers retain a small group of testers to provide on-the-spot QA.

So now most game developers rely on their highly technical and game savvy testers to find gliches and 'bugs' in either the programming code or graphic layers. Game testers usually have a background playing a variety of different games on a multitude of platforms. They must be able to notate and reference any problems they find in detailed reports, meet deadlines with assignments and have the skill level to complete the game titles on their most difficult settings. Most of the time the position of game tester is a highly stressful and competitive position with little pay yet is highly sought after for it serves as a doorway into a rapidly growing industry.

A common misconception is that all game testers enjoy alpha or beta version of the game and report occasionally found bugs.[5] In contrast, game testing is highly focused on finding bugs using established and often tedious methodologies before alpha version.

Overview

Quality assurance is a critical component in game development, though the video game industry does not have a standard methodology. Instead developers and publishers have their own methods. Small developers do not have QA staff, however large companies may employ QA teams full-time. High-profile commercial games are professionally and efficiently tested by publisher QA department.[6]

Testing starts as soon as first code is written and increases as the game progresses towards completion.[7][8] The main QA team will monitor the game from its first submission to the QA until as late as post-production.[8] Early in the game development process the testing team is small and focuses on daily feedback for new code. As the game approaches alpha stage, more team members are employed and test plan is written. Sometimes features that are not bugs are reported as bugs and sometimes programming team fails to fix issues first time around.[9] A good bug-reporting system may help the programmers work efficiently. As the projects enters beta stage, the testing team will have clear assignments for each day. Tester feedback may determine final decisions of exclusion or inclusion of final features. Introducing previously uninvolved testers with fresh perspective may help identify new bugs.[8][10] At this point the lead tester communicates with the producer and department heads daily.[11] If the developer has external publisher, then coordination with publisher's QA team starts. For console games, a build for console company QA team is sent. Beta testing may involve volunteers, for example, if the game is multiplayer.[10]

Testers receive scheduled uniquely identifiable game builds[10] from the developers. The game is play-tested and testers note any uncovered errors. These may range from bugs to art glitches to logic errors and level bugs. Testing requires creative gameplay to discover often subtle bugs. Some bugs are easy to document, but many require detailed description so a developer can replicate or find the bug. Testers implement concurrency control to avoid logging bugs multiple times. Many video game companies separate technical requirement testing from functionality testing altogether since a different testing skillset is required.[5]

If a video game development enters crunch time before a deadline, the game-test team is required to test late-added features and content without delay. During this period staff from other departments may contribute to the testing—especially in multiplayer games.

Most companies rank bugs according to an estimate of their severity:[12]

Game tester

A game tester is a member of a development team who performs game testing.

Roles

The organization of staff differs between organizations; a typical company may employ the following roles associated with testing disciplines:

Employment

Game QA is less technical than general software QA. Many game testers require little experience and sometimes only a high school diploma and no technical expertise will suffice.[6][15] Game testing is normally a full-time job for experienced testers,[16] however many employees are hired as temporary staff,[2][17] such as beta testers. In some cases, testers employed by a publisher may be sent to work at the developer's site. The most aggressive recruiting season is late summer/early autumn, as this is the start of the crunch period for games to be finished and shipped in time for the holiday season.

Some games studios are starting to take a more technical approach to game QA that is more inline with traditional software testing. Technical Test positions are still fairly rare throughout the industry but these jobs are often full time positions with long term career paths and require a 4 year computer science degree and signifcant expereince with test automation.

Some testers use the job as a stepping stone in the game industry.[15][3] QA résumés, which display non-technical skill sets, tend towards management, then to marketing or production. Applicants for programming, art, or design positions need to demonstrate technical skills in these areas.[18]

Compensation

Game testing personnel are usually paid hourly (around US$10–12 an hour). Testing management is usually more lucrative, and requires experience and often a college education. An annual survey found that testers earn an average of $39k annually. Testers with less than three years experience earn an average of US$25k while testers with over three years experience earn US$43k. Testing leads, with over six years experience, earn on an average of US$71k a year.[19] Typically, they will make $35-45k with less experience. Some employers offer bonuses for the number of bugs found.

Process

A typical bug report progression of testing process is seen below:

Methodology

There is no industry standard method for game testing, and most methodologies are developed by individual video game developers and publishers. Methodologies are continuously refined and may differ for different types of games (for example, the methodology for testing a MMORPG will be different from testing a casual game). Many methods, such as unit testing, are borrowed directly from general software testing techniques. Outlined below are the most important methodologies, specific to video games.

The requirements are proprietary documents released to developers and publishers under confidentiality agreements. They are not available for the general public to review, although familiarity with these standards is considered a valuable skill to have as a tester.
Compliance may also refer to regulatory bodies such as the ESRB and PEGI, if the game targets a particular content rating. Testers must report objectionable content that may be inappropriate for the desired rating. Similar to licensing, games that do not receive the desired rating must be re-edited, retested, and resubmitted at additional cost.
Compatibility testing ensures that the game runs on different configurations of hardware and software. The hardware encompasses brands of different manufacturers and assorted input peripherals such as gamepads and joysticks.
The testers also evaluate performance and results are used for game's advertised minimum system requirements. Compatibility or performance issues may be either fixed by the developer or, in case of legacy hardware and software, support may be dropped.

Console hardware

For consoles, the majority of testing is not performed on a normal system or consumer unit. Special test equipment is provided to developers and publishers. The most significant tools are the test or debug kits, and the dev kits. The main difference between from consumer units is the ability to load games from a burned disc or from a hard drive, as well as being able to set the console for any publishing region. This allows game developers to produce copies for testing. This functionality is not present in consumer units to combat software piracy and grey-market imports.

See also

Notes

  1. ^ Bates 2004, pp. 176-180
  2. ^ a b c d Moore, Novak 2010, p. 95
  3. ^ a b Oxland 2004, p. 301-302
  4. ^ Bates 2004, pp. 178, 180
  5. ^ a b c Oxland 2004, p. 301
  6. ^ a b c d e f Bethke 2003, p. 52
  7. ^ Bates 2004, p. 176
  8. ^ a b c d e f Bethke 2003, p. 53
  9. ^ a b c d Bates 2004, p. 177
  10. ^ a b c d e f g Bates 2004, p. 178
  11. ^ a b c d Bates 2004, p. 179
  12. ^ a b Bates 2004, pp. 178-179
  13. ^ Moore, Novak 2010, p. 72
  14. ^ Bates 2004, p. 180
  15. ^ a b Bates 2004, p. 261
  16. ^ Moore, Novak 2010, p. 25
  17. ^ Moore, Novak 2010, p. 2
  18. ^ Moore, Novak 2010, pp. 84, 237-238
  19. ^ Fleming, Jeffrey (2008). "7th Annual Salary Survey". Game Developer (United Business Media) 15 (4): 8. 
  20. ^ Adams, Rollings 2003, p. 17

References

External links